package com.gt.service.project;

import com.gt.entity.project.Project;

import java.util.HashMap;
import java.util.List;

/**
 * 项目业务接口
 * @author why
 */
public interface ProjectService {

	// Methods

   /**
	* 添加项目
	*  id 主键值
	*  projectName 项目名称
	*  projectLanguage 1：js
	*  projectApikey js  apikey
	*  projectJsUrl js url
	*  userId 用户主键值
	*  debugNum 错误个数
	*  createTime 创建时间
	*  updateTime 修改时间
	* @return Long id 添加后的数据库主键值
	*/
	public Long add(Project project);

   /**
	* 删除项目
	*  id 主键值
	*/
	public void delete(Long id);

   /**
	* 更新项目
	*  id 主键值
	*  projectName 项目名称
	*  projectLanguage 1：js
	*  projectApikey js  apikey
	*  projectJsUrl js url
	*  userId 用户主键值
	*  debugNum 错误个数
	*  createTime 创建时间
	*  updateTime 修改时间
	*/
	public void edit(Project project);

   /**
	* 主键查询项目
	*  id 主键值
	* @return Project 实体
	*/
	public Project queryById(Long id);

   /**
	* 根据条件查询项目列表
	*  id 主键值
	*  projectName 项目名称
	*  projectLanguage 1：js
	*  projectApikey js  apikey
	*  projectJsUrl js url
	*  userId 用户主键值
	*  debugNum 错误个数
	*  createTime 创建时间
	*  updateTime 修改时间
	* @return List<Project> 实体List
	*/
	public List<Project> queryList(Project project);

	/**
	 * 查询项目列表
	 * @param project
	 * @return
	 */
	public List<Project> querySelectProject(Project project);

	/**
	 * 根据用户名字查询该用户所有项目
	 * @param userName
	 * @return
	 */
	public List<Project> querySelectByUserName(String userName);

}